package cn.tt.tuantuanerp.tuantuanerp.comment.utils;

import cn.tt.tuantuanerp.tuantuanerp.comment.security.LoginPrincipal;

import java.text.SimpleDateFormat;
import java.util.Date;


/**
 * ID生成器
 * @author Wangyujie
 */
public class IdGenerator {

    // 订单ID生产器:"yyyyMMddHHmmsssss" +"操作人IP后两位" +"随机2位数"
    public static String getOrderId(LoginPrincipal loginPrincipal){
        SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmsssss");//设置日期格式
        String date = df.format(new Date());// new Date()为获取当前系统时间，也可使用当前时间戳
        String ip = loginPrincipal.getIp();
        ip = ip.substring(ip.length() - 2);
        return date+ip+(int)(Math.random()*100);
    }

    // 采购订单ID生产器:"yyyyMMddHHmmsssss" +"操作人IP后两位" +"随机2位数"
    public static String getPurchaseId(LoginPrincipal loginPrincipal){
        SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmsssss");//设置日期格式
        String date = df.format(new Date());// new Date()为获取当前系统时间，也可使用当前时间戳
        String ip = loginPrincipal.getIp();
        ip = ip.substring(ip.length() - 2);
        return "CG"+date+ip+(int)(Math.random()*100);
    }

    // 盘点订单ID生产器:"yyyyMMddHHmmsssss" +"操作人IP后两位" +"随机2位数"
    public static Long getCheckId(LoginPrincipal loginPrincipal){
        SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmm");//设置日期格式
        String date = df.format(new Date());// new Date()为获取当前系统时间，也可使用当前时间戳
        String ip = (loginPrincipal.getIp());
        char i = ip.charAt(ip.length()-1);
        char p = ip.charAt(ip.length()-3);
        Long warehouseId  = Long.valueOf(date + p+i + (int) (Math.random() * 100));
        return warehouseId;
    }


}
